Add tests for slot.assignedElements method (#8636) * Add tests for slot.assignedElements() method * Add tests for slot.assignedElements() method * Remove duplication in HTMLSlotElement-interface.html * Remove unnecessary duplicate tests
diff --git a/shadow-dom/slots-fallback.html b/shadow-dom/slots-fallback.html index a8d60e8..e705e18 100644 --- a/shadow-dom/slots-fallback.html +++ b/shadow-dom/slots-fallback.html
@@ -25,6 +25,13 @@ assert_array_equals(n.s1.assignedNodes(), []); assert_array_equals(n.s1.assignedNodes({ flatten: true }), [n.f1]); }, 'Slots fallback: Basic.'); + +test(() => { + let n = createTestTree(test1); + + assert_array_equals(n.s1.assignedElements(), []); + assert_array_equals(n.s1.assignedElements({ flatten: true }), [n.f1]); +}, 'Slots fallback: Basic, elements only.'); </script> <div id="test2"> @@ -52,6 +59,16 @@ assert_array_equals(n.s1.assignedNodes({ flatten: true }), [n.f1]); assert_array_equals(n.s2.assignedNodes({ flatten: true }), [n.f1]); }, 'Slots fallback: Slots in Slots.'); + +test(() => { + let n = createTestTree(test2); + + assert_array_equals(n.s1.assignedElements(), []); + assert_array_equals(n.s2.assignedElements(), []); + + assert_array_equals(n.s1.assignedElements({ flatten: true }), [n.f1]); + assert_array_equals(n.s2.assignedElements({ flatten: true }), [n.f1]); +}, 'Slots fallback: Slots in Slots, elements only.'); </script> <div id="test3"> @@ -109,7 +126,7 @@ assert_array_equals(n.s1.assignedNodes({ flatten: true }), [n.c1]); assert_array_equals(n.s2.assignedNodes({ flatten: true }), [n.c1]); -}, 'Slots fallback: Slots in Slots: Assinged nodes should be used as fallback contents of another slot'); +}, 'Slots fallback: Slots in Slots: Assigned nodes should be used as fallback contents of another slot'); </script> <div id="test5"> @@ -154,6 +171,20 @@ test(() => { let n = createTestTree(test5); + + assert_array_equals(n.s1.assignedElements(), [n.c1]); + assert_array_equals(n.s2.assignedElements(), []); + assert_array_equals(n.s3.assignedElements(), [n.s2]); + assert_array_equals(n.s4.assignedElements(), []); + + assert_array_equals(n.s1.assignedElements({ flatten: true }), [n.c1]); + assert_array_equals(n.s2.assignedElements({ flatten: true }), [n.c1, n.f2]); + assert_array_equals(n.s3.assignedElements({ flatten: true }), [n.c1, n.f2]); + assert_array_equals(n.s4.assignedElements({ flatten: true }), [n.c1, n.f2, n.f4]); +}, 'Slots fallback: Complex case, elements only.'); + +test(() => { + let n = createTestTree(test5); removeWhiteSpaceOnlyTextNodes(n.test5); let d1 = document.createElement('div');